This invention relates to allowing the presence of a simple type in an XML Schema complex type.
Extensible mark-up language (XML) is a mark-up language for documents containing structured information. XML provides a facility to define tags and the structural relationship between them in the document. An XML Schema describes and constrains the content of XML documents.
The W3C XML Schema does not permit a complex type to include a simple type without defining a new element. Also if a complex type inherits from a Simple Type then it can have only simple content, i.e. it cannot have child elements. As a result, it is not possible to model accurately the XML Schema for the following XML stream where the contents of element Fred contains an arbitrary string (xxxx), an element Joe, an integer (67890102), an element Jim and finally an integer (12345).
<Fred>xxxx<Joe/>67890102<Jim/>12345</Fred>
Such types of XML Streams are very common. The XML Schema specification does allow a mixed flag to be set in respect of a complex type so that an instance of the complex type can contain arbitrary strings between the elements. Nevertheless, you cannot precisely specify any order or position for the strings within the XML document, as illustrated in the example above.
This invention seeks to avoid some of the described drawbacks.